                1    *************************
                2    *                       *
                3    * INPUT/OUTPUT HGR CHAR *
                4    *   (C)1989 BY DECKARD  *
                5    *                       *
                6    *************************
                7    *
                8    CARAC         EQU    $0801     ; DEBUT DATAS CARACTERES
                9                                   ;
                10   CURSOR        EQU    $09F1     ; 1ER DATA DU CURSEUR (= '^') (+$1F0)
                11   CARAC2        EQU    $0B01     ; STOCKAGE JEU EXTRA PRESENTATION (+$300)
                12   DATASP        EQU    $0BC1     ; STOCKAGE DATA SPRITE
                13   COUT1         EQU    $FDF0     
                14   WAIT          EQU    $FCA8     
                15   KEYBRD        EQU    $C000     
                16   ZKEYBRD       EQU    $C010     
                17                                  ;
                18                                  ;
                19                                  ; PAGE ZERO
                20                                  ;
                21   CSWL          EQU    $36       ; POINTE NORMALEMENT SUR COUT1
                22   CSWH          EQU    $37       
                23   KSWL          EQU    $38       ; POINTE NORMALEMENT SUR KEYIN
                24   KSWH          EQU    $39       
                25   GBASL         EQU    $26       
                26   GBASH         EQU    $27       
                27   BASL          EQU    $28       
                28   BASH          EQU    $29       
                29   BAS2L         EQU    $2A       
                30   BAS2H         EQU    $2B       
                31   CH            EQU    $24       
                32   CV            EQU    $25       
                33   INVFLG        EQU    $32       ; MASQUE POUR NORMAL/INVERSE
                34   LARGEUR       EQU    $21       
                35   MARGEG        EQU    $20       
                36   MARGEH        EQU    $22       
                37   MARGEB        EQU    $23       
                38   XMAX          EQU    $1C       
                39   Y             EQU    $1A       
                40   X             EQU    $09       
                41   ETAT2         EQU    $E7       ; ON N'UTILISE PAS SCALE
                42                                  ;
                43                                  ;
                44                                  ;
                45                 ORG    $16E1     
                46                                  ;
                47                                  ; ---------
                48                                  ; I N P U T
                49                                  ; ---------
                50                                  ;
                51   *
                52   * BUT: AFFICHER UN CURSEUR QUI CHANGE SANS ARRET
                53   *
                54                                  ;
                55                                  ;
                56   * ON AFFICHE LE CURSEUR
                57                                  ;
16E1: 48        58   INPUT         PHA              ; MET DE COTE LE CURSEUR ACTUEL
16E2: 8C 7B 17  59   INPUT2        STY    INSTORE   
16E5: 8E 7C 17  60                 STX    INSTORE+1 
16E8: A9 DE     61                 LDA    #$DE      ; CODE ASCII DE '^'
16EA: 20 8E 17  62                 JSR    SCREEN    
                63                                  ;
                64   * ON FAIT UNE ROTATION DE BAS EN HAUT
                65                                  ;
16ED: AD F1 09  66                 LDA    CURSOR    
16F0: AA        67                 TAX              ; SAUVEGARDE 1ER OCTET
16F1: A0 00     68                 LDY    #0        
16F3: B9 F2 09  69   ROTATION      LDA    CURSOR+1,Y 
16F6: 99 F1 09  70                 STA    CURSOR,Y  
16F9: C8        71                 INY              
16FA: C0 07     72                 CPY    #7        ; ON EN FAIT 7
16FC: D0 F5     73                 BNE    ROTATION  
16FE: 8A        74                 TXA              ; RECUPERE 1ER OCTET
16FF: 8D F8 09  75                 STA    CURSOR+7  ; ACCOMPLI LA ROTATION (1ER = DERNIER)
                76                                  ;
                77   * AFFICHAGE DES SPRITES MOBILES+GENERATEUR ALEATOIRE
                78                                  ;
1702: 20 DA 1C  79                 JSR    SPMOBIL0  
                80                                  ; RESTAURE
1705: AC 7B 17  81                 LDY    INSTORE   
1708: AE 7C 17  82                 LDX    INSTORE+1 
                83                                  ;
                84   * CONTINUE
                85                                  ;
170B: 20 11 17  86                 JSR    SUITE     
170E: 4C E2 16  87                 JMP    INPUT2    
                88                                  ;
1711: AD 00 C0  89   SUITE         LDA    KEYBRD    
1714: 30 05     90                 BMI    SUITE2    
1716: A9 B0     91                 LDA    #$B0      
1718: 4C A8 FC  92                 JMP    WAIT      
171B: 68        93   SUITE2        PLA              ; RECUPERE LE CURSEUR SAUVE
171C: 68        94                 PLA              ; 2 PLA EN + CAR IL Y A EUT UN JSR
171D: 68        95                 PLA              
171E: 91 28     96                 STA    (BASL),Y  
1720: AD 00 C0  97                 LDA    KEYBRD    
1723: 2C 10 C0  98                 BIT    ZKEYBRD   
1726: 60        99                 RTS              
                100                                 ;
                101                                 ; -----------
                102                                 ; O U T P U T
                103                                 ; -----------
                104                                 ;
                105  *
                106  * BUT: ECRIRE A LA FOIS SUR ECRAN TEXT ET SUR ECRAN HGR
                107  *
                108                                 ;
1727: C9 A0     109  OUTPUT        CMP    #$A0      ; = ESPACE
1729: 90 24     110                BCC    OTHER     ; POUR LES CARACTERES < A L'ESPACE
172B: 8D 78 17  111                STA    OUTSTORE  ; SAUVE POUR ECRAN TEXTE
172E: 8C 79 17  112                STY    OUTSTORE+1 
1731: 8E 7A 17  113                STX    OUTSTORE+2 
1734: A4 E7     114  VASY          LDY    ETAT2     
1736: F0 05     115                BEQ    VASY2     
1738: 48        116                PHA              
1739: 20 EF 17  117                JSR    OKDECAL   
173C: 68        118                PLA              
173D: 20 8E 17  119  VASY2         JSR    SCREEN    
1740: 2C        120  BITJSR        DFB    #$2C      ; BIT OU JSR
1741: 7E 17     121                DFB    #<TRT_RTN,#>TRT_RTN 
1743: AD 78 17  122                LDA    OUTSTORE  ; RECUPERE POUR ECRAN TEXTE
1746: AC 79 17  123                LDY    OUTSTORE+1 
1749: AE 7A 17  124                LDX    OUTSTORE+2 
174C: 4C 73 17  125                JMP    BYE2      
                126                                 ;
174F: 48        127  OTHER         PHA              
1750: AD 7D 17  128                LDA    ETAT      
1753: F0 1F     129                BEQ    BYE2+1    ; SI 0 RTN ET FLECHE NON AUTORISEE
1755: 68        130                PLA              
1756: C9 8D     131                CMP    #$8D      ; RETURN?
1758: D0 15     132                BNE    OTHER2    
175A: 48        133                PHA              
175B: A9 20     134                LDA    #$20      
175D: 8D 40 17  135                STA    BITJSR    ; BRANCHE LE JSR
1760: 68        136                PLA              ; RECUPERE ACC
1761: 8D 78 17  137  IDEM          STA    OUTSTORE  ; SAUVE POUR ECRAN TEXTE
1764: 8C 79 17  138                STY    OUTSTORE+1 
1767: 8E 7A 17  139                STX    OUTSTORE+2 
176A: A9 A0     140                LDA    #$A0      
176C: 4C 34 17  141                JMP    VASY      
176F: C9 88     142  OTHER2        CMP    #$88      ; FLECHE GAUCHE?
1771: F0 EE     143                BEQ    IDEM      
                144                                 ;
                145  * SAUT A LA SUBROUTINE NORMALE
                146                                 ;
1773: 24 68     147  BYE2          BIT    $68       ; FAUX BIT. C'EST : PLA
1775: 4C F0 FD  148                JMP    COUT1     
                149                                 ;
1778: 00 00 00  150  OUTSTORE      DFB    0,0,0     
177B: 00 00     151  INSTORE       DFB    0,0       
177D: 00        152  ETAT          DFB    0         
                153                                 ;
                154                                 ; TRAITEMENT RETURN EN LIGNE 24
                155                                 ;
177E: A9 2C     156  TRT_RTN       LDA    #$2C      
1780: 8D 40 17  157                STA    BITJSR    ; RETABLI LE BIT
1783: 20 DE 17  158                JSR    TESTY     
1786: A5 E7     159                LDA    ETAT2     
1788: F0 03     160                BEQ    RTNFIN    
178A: 4C EF 17  161                JMP    OKDECAL   
178D: 60        162  RTNFIN        RTS              
                163                                 ;
                164                                 ;
                165                                 ;
                166                                 ; AFFICHE SUR ECRAN HGR
                167                                 ;
178E: 38        168  SCREEN        SEC              
178F: E9 A0     169                SBC    #$A0      ; OBTIENT LE NUMERO DU CARACTERE
1791: A0 00     170                LDY    #$00      
1793: 84 27     171                STY    GBASH     
1795: 0A        172                ASL              
1796: 0A        173                ASL              
1797: 26 27     174                ROL    GBASH     
1799: 0A        175                ASL              
179A: 26 27     176                ROL    GBASH     
179C: 69 01     177  C1            ADC    #<CARAC   ; +CARAC POUR DETERMINER LES DATAS
179E: 85 26     178                STA    GBASL     
17A0: A5 27     179                LDA    GBASH     
17A2: 69 08     180  C2            ADC    #>CARAC   
17A4: 85 27     181                STA    GBASH     
                182                                 ;
17A6: 18        183                CLC              
17A7: A5 28     184                LDA    BASL      
17A9: 65 24     185                ADC    CH        ; POSITION HORIZONTALE DU CURSEUR
17AB: 85 2A     186                STA    BAS2L     
17AD: A5 29     187                LDA    BASH      
17AF: 69 1C     188  MODE          ADC    #$1C      ; POUR AVOIR HGR
17B1: 85 2B     189                STA    BAS2H     
                190                                 ;
                191                                 ; ECRITURE
                192                                 ;
17B3: B1 26     193  WRITE         LDA    (GBASL),Y ; DATA CARAC
17B5: A6 32     194                LDX    INVFLG    
17B7: E0 FF     195                CPX    #$FF      
17B9: F0 02     196                BEQ    AFFIC     
17BB: 49 FF     197                EOR    #$FF      ; AFFICHE EN INVERSE
17BD: 91 2A     198  AFFIC         STA    (BAS2L),Y 
17BF: 18        199                CLC              
17C0: A5 2A     200                LDA    BAS2L     
17C2: 69 FF     201                ADC    #$FF      
17C4: 85 2A     202                STA    BAS2L     ; POSITIONNE POUR OCTET SUIVANT
17C6: A5 2B     203                LDA    BAS2H     
17C8: 69 03     204                ADC    #$03      
17CA: 85 2B     205                STA    BAS2H     
17CC: C8        206                INY              
17CD: C0 08     207                CPY    #$08      ; A-T-ON FAIT LES 8 OCTETS (= 1 CARACTERE)
17CF: D0 E2     208                BNE    WRITE     
                209                                 ;
                210  * OPERATIONS VIRTUELLES DE TESTS POUR DECALAGE
                211                                 ;
17D1: AD 78 17  212                LDA    OUTSTORE  
17D4: 90 14     213                BCC    AUTRECAR  ; AUTRES TOUCHES ENFONCEES
17D6: A4 24     214                LDY    CH        ; TEST DE X
17D8: C8        215                INY              
17D9: C4 21     216                CPY    LARGEUR   
17DB: 10 01     217                BPL    TESTY     
17DD: 60        218                RTS              
17DE: A4 25     219  TESTY         LDY    CV        ; CHANGEMENT DE LIGNE
17E0: C8        220                INY              
17E1: C4 23     221                CPY    MARGEB    
17E3: D0 F8     222                BNE    TESTY-1   ; ON EST PAS EN BAS DE L'ECRAN
                223                                 ;
17E5: A9 01     224                LDA    #1        ; ON FORCE L'ETAT2 A 1
17E7: 85 E7     225                STA    ETAT2     
17E9: 60        226                RTS              
                227                                 ;
                228                                 ;
17EA: C9 8D     229  AUTRECAR      CMP    #$8D      ; RETURN?
17EC: F0 F0     230                BEQ    TESTY     
17EE: 60        231                RTS              
                232                                 ;
                233                                 ;
17EF: 20 FA 17  234  OKDECAL       JSR    DECALAGE  
17F2: A9 00     235                LDA    #0        ; RETABLI ETAT POUR NE PLUS DECALER
17F4: 85 E7     236                STA    ETAT2     
17F6: 60        237                RTS              
                238                                 ;
17F7: EA EA EA  239                DS     3,$EA     
                240                                 ;
                241                                 ; DECALAGE
                242                                 ;
17FA: A5 22     243  DECALAGE      LDA    MARGEH    
17FC: 85 1A     244                STA    Y         
17FE: A5 20     245                LDA    MARGEG    
1800: 85 09     246                STA    X         
1802: A9 00     247                LDA    #$00      ; POSITION DU CURSEUR TOUJOURS NULLE
1804: 85 24     248                STA    CH        
1806: A5 21     249                LDA    LARGEUR   
1808: 8D 40 18  250                STA    LECPX+1   
180B: 20 9D 18  251  FOLLOW1       JSR    CALC      
180E: AD B7 18  252                LDA    DATAL     
1811: 8D 3C 18  253                STA    POKE+1    
1814: AD B8 18  254                LDA    DATAH     
1817: 8D 3D 18  255                STA    POKE+2    
181A: E6 1A     256                INC    Y         
181C: 20 9D 18  257                JSR    CALC      
181F: AD B7 18  258                LDA    DATAL     
1822: 8D 39 18  259                STA    PEEK+1    
1825: AD B8 18  260                LDA    DATAH     
1828: 8D 3A 18  261                STA    PEEK+2    
                262                                 ; BOUCLE
182B: A9 00     263                LDA    #$00      
182D: 8D 4E 18  264                STA    CPT       
1830: 20 36 18  265                JSR    PEEK-2    
1833: 4C 64 18  266                JMP    INCR      
1836: A2 00     267                LDX    #$00      
1838: BD FF FF  268  PEEK          LDA    $FFFF,X   ; LDA $????,X
183B: 9D FF FF  269  POKE          STA    $FFFF,X   ; STA $????,X
183E: E8        270                INX              
183F: E0 00     271  LECPX         CPX    #$00      ; CPX #$??
1841: D0 F5     272                BNE    PEEK      
1843: EE 4E 18  273                INC    CPT       
1846: AC 4E 18  274                LDY    CPT       
1849: C0 08     275                CPY    #$08      ; LES 8 OCTETS SONT AFFICHES?
184B: D0 02     276  WHERE         BNE    NEXTOCT   
184D: 60        277                RTS              
                278                                 ;
184E: 00        279  CPT           DFB    0         
                280                                 ; LIGNE D'OCTETS SUIVANTE
184F: 18        281  NEXTOCT       CLC              
1850: AD 3A 18  282                LDA    PEEK+2    
1853: 69 04     283                ADC    #$04      
1855: 8D 3A 18  284                STA    PEEK+2    
1858: 18        285  NEXTOCT2      CLC              
1859: AD 3D 18  286                LDA    POKE+2    
185C: 69 04     287                ADC    #$04      
185E: 8D 3D 18  288                STA    POKE+2    
1861: 4C 36 18  289                JMP    PEEK-2    ; FAIT UNE AUTRE LIGNE D'OCTETS
                290                                 ; INCREMENTE LIGNE DE CARACTERES
1864: A5 23     291  INCR          LDA    MARGEB    
1866: AA        292                TAX              
1867: CA        293                DEX              
1868: E4 1A     294                CPX    Y         
186A: D0 9F     295                BNE    FOLLOW1   
                296                                 ; AFFICHE DES BLANCS SUR LA DERNIERE LIGNE
186C: A9 EA     297                LDA    #$EA      ; ON MET UN NOP
186E: 8D 38 18  298                STA    PEEK      
1871: A9 A9     299                LDA    #$A9      ; LDA #$00
1873: 8D 39 18  300                STA    PEEK+1    
1876: A9 00     301                LDA    #$00      
1878: 8D 3A 18  302                STA    PEEK+2    
187B: 8D 4E 18  303                STA    CPT       
187E: AD B7 18  304                LDA    DATAL     ; REPOSITIONNE SUR LA 1ERE LIGNE D'OCTETS
1881: 8D 3C 18  305                STA    POKE+1    
1884: AD B8 18  306                LDA    DATAH     
1887: 8D 3D 18  307                STA    POKE+2    
                308                                 ; EMPECHE L'INCREMENTATION DU LDA $????,X
188A: A9 0B     309                LDA    #$0B      ; SAUTE DIRECTEMENT EN NEXTOCT2
188C: 8D 4C 18  310                STA    WHERE+1   
188F: 20 36 18  311                JSR    PEEK-2    ; REMPLISSAGE DE BLANCS
                312                                 ; RESTAURE LE LDA $????,X
1892: A9 BD     313                LDA    #$BD      
1894: 8D 38 18  314                STA    PEEK      
                315                                 ; RESTAURE LE BNE NEXTOCT
1897: A9 02     316                LDA    #$02      
1899: 8D 4C 18  317                STA    WHERE+1   
189C: 60        318                RTS              
                319                                 ;
                320                                 ; CALCUL LA POSITION ECRAN
                321                                 ;
189D: A6 1A     322  CALC          LDX    Y         
189F: BD B9 18  323                LDA    DATA1,X   
18A2: 48        324                PHA              
18A3: BD D1 18  325                LDA    DATA2,X   
18A6: 45 E6     326                EOR    $E6       ; PAGE ECRAN ($20 OU $40)
18A8: A8        327                TAY              
18A9: 18        328                CLC              
18AA: 68        329                PLA              
18AB: 65 09     330                ADC    X         
18AD: 8D B7 18  331                STA    DATAL     
18B0: 98        332                TYA              
18B1: 69 00     333                ADC    #$00      ; RETENUES
18B3: 8D B8 18  334                STA    DATAH     
18B6: 60        335                RTS              
                336                                 ;
18B7: 00        337  DATAL         DFB    0         
18B8: 00        338  DATAH         DFB    0         
                339                                 ;
                340                                 ; DATAS GRAPHIQUES
                341                                 ;
18B9: 00 80 00  342  DATA1         HEX    0080008000800080 
18BC: 80 00 80 00 80 
18C1: 28 A8 28  343                HEX    28A828A828A828A8 
18C4: A8 28 A8 28 A8 
18C9: 50 D0 50  344                HEX    50D050D050D050D0 
18CC: D0 50 D0 50 D0 
18D1: 00 00 01  345  DATA2         HEX    0000010102020303 
18D4: 01 02 02 03 03 
18D9: 00 00 01  346                HEX    0000010102020303 
18DC: 01 02 02 03 03 
18E1: 00 00 01  347                HEX    0000010102020303 
18E4: 01 02 02 03 03 
                348                                 ;
18E9: EA EA EA  349                DS     7,$EA     
18EC: EA EA EA EA 
                350                                 ;
                351                                 ;
                352  ***********************
                353  *                     *
                354  * COMMANDES ANNEXES & *
                355  * (C)1989 BY DECKARD  *
                356  *                     *
                357  ***********************
                358  *
                359                                 ;
                360  ERROR         EQU    $DEC9     ; SYNTAX ERROR
                361  ADDON         EQU    $D998     
                362  GETBYT        EQU    $E6F8     
                363  CHECKCOM      EQU    $DEBE     
                364  SPEAK         EQU    $C030     
                365  CPTL          EQU    $06       
                366  CPTX          EQU    $07       
                367                                 ;
                368                                 ;
18F0: A2 00     369                LDX    #$00      
18F2: 8E 4E 18  370                STX    CPT       
18F5: A0 00     371  D1            LDY    #$00      
18F7: BD 2A 19  372  D2            LDA    NEWCMD,X  
18FA: F0 1B     373                BEQ    D5        
18FC: C9 FF     374                CMP    #$FF      
18FE: F0 08     375                BEQ    D3        
1900: D1 B8     376                CMP    ($B8),Y   
1902: D0 07     377                BNE    D4        
1904: C8        378                INY              
1905: E8        379                INX              
1906: D0 EF     380                BNE    D2        
1908: 4C C9 DE  381  D3            JMP    ERROR     
190B: E8        382  D4            INX              
190C: BD 2A 19  383                LDA    NEWCMD,X  
190F: D0 FA     384                BNE    D4        
1911: E8        385                INX              
1912: EE 4E 18  386                INC    CPT       
1915: D0 DE     387                BNE    D1        
1917: 20 98 D9  388  D5            JSR    ADDON     ; Y=Y+1
191A: 0E 4E 18  389                ASL    CPT       
191D: AE 4E 18  390                LDX    CPT       
1920: BD 66 19  391                LDA    ADRCMD+1,X 
1923: 48        392                PHA              
1924: BD 65 19  393                LDA    ADRCMD,X  
1927: 48        394                PHA              
1928: 60        395                RTS              
                396                                 ;
1929: 00        397  CPT2          DFB    0         
                398                                 ;
                399  *
                400  * LISTE DES COMMANDES
                401  *
                402                                 ;
                403  NEWCMD                         ; &MUSIC
192A: 4D 55 53  404                HEX    4D5553494300 
192D: 49 43 00 
                405                                 ; &SOUND
1930: 53 4F 55  406                HEX    534F554E4400 
1933: 4E 44 00 
                407                                 ; &WINDOW
1936: 57 49 4E  408                HEX    57494E444F5700 
1939: 44 4F 57 00 
                409                                 ; &NOISE
193D: 4E 4F 49  410                HEX    4E4F49534500 
1940: 53 45 00 
                411                                 ; &SCRN
1943: 53 43 52  412                HEX    5343524E00 
1946: 4E 00 
                413                                 ; &SPRITE
1948: 53 50 52  414                HEX    53505249544500 
194B: 49 54 45 00 
                415                                 ; &SET
194F: 53 45 54  416                HEX    53455400  
1952: 00 
                417                                 ; &CLS
1953: 43 4C 53  418                HEX    434C5300  
1956: 00 
                419                                 ; &CADRE
1957: 43 41 44  420                HEX    434144524500 
195A: 52 45 00 
                421                                 ; &RELIRE
195D: 52 45 4C  422                HEX    52454C49524500 
1960: 49 52 45 00 
                423                                 ;
                424                                 ; ERROR
1964: FF        425                HEX    FF        
                426                                 ;
                427  *
                428  * LISTE DES ADRESSES
                429  *
                430                                 ;
                431  ADRCMD                         ; &MUSIC
1965: 78 19     432                DFB    #<MUSIC-1,#>MUSIC 
                433                                 ; &SOUND
1967: CB 19     434                DFB    #<SOUND-1,#>SOUND 
                435                                 ; &WINDOW
1969: AD 19     436                DFB    #<WINDOW-1,#>WINDOW 
                437                                 ; &NOISE
196B: 33 1A     438                DFB    #<NOISE-1,#>NOISE 
                439                                 ; &SCRN
196D: 68 1A     440                DFB    #<SCRN-1,#>SCRN 
                441                                 ; &SPRITE
196F: A2 1A     442                DFB    #<SPRITE-1,#>SPRITE 
                443                                 ; &SET
1971: 34 1B     444                DFB    #<SET-1,#>SET 
                445                                 ; &CLS
1973: 4D 1B     446                DFB    #<CLS-1,#>CLS 
                447                                 ; &CADRE
1975: B0 1B     448                DFB    #<CADRE-1,#>CADRE 
                449                                 ; &RELIRE
1977: B8 1C     450                DFB    #<RELIRE-1,#>RELIRE 
                451                                 ;
                452  *
                453  * MUSIQUE
                454  *
                455                                 ;
1979: 20 F8 E6  456  MUSIC         JSR    GETBYT    ; LIRE LE NOMBRE DE NOTE
197C: 8E AD 19  457                STX    CPTMUS    
197F: AD AD 19  458  AGAIN         LDA    CPTMUS    
1982: F0 28     459                BEQ    FINMUS    
1984: 20 BE DE  460                JSR    CHECKCOM  
1987: 20 F8 E6  461                JSR    GETBYT    ; LECTURE SON
198A: 86 EC     462                STX    $EC       
198C: 20 BE DE  463                JSR    CHECKCOM  
198F: 20 F8 E6  464                JSR    GETBYT    ; LECTURE DUREE
1992: 86 ED     465  MUSICD        STX    $ED       
1994: AD 30 C0  466  MUS1          LDA    $C030     
1997: 88        467  MUS2          DEY              
1998: D0 04     468                BNE    MUS3      
199A: C6 ED     469                DEC    $ED       
199C: F0 08     470                BEQ    MUS4      
199E: CA        471  MUS3          DEX              
199F: D0 F6     472                BNE    MUS2      
19A1: A6 EC     473                LDX    $EC       
19A3: 4C 94 19  474                JMP    MUS1      
19A6: CE AD 19  475  MUS4          DEC    CPTMUS    
19A9: 4C 7F 19  476                JMP    AGAIN     
19AC: 60        477  FINMUS        RTS              
19AD: 00        478  CPTMUS        DFB    0         
                479                                 ;
                480  *
                481  * WINDOW
                482  *
                483                                 ;
19AE: 20 F8 E6  484  WINDOW        JSR    GETBYT    
19B1: 86 20     485                STX    $20       
19B3: 20 BE DE  486                JSR    CHECKCOM  
19B6: 20 F8 E6  487                JSR    GETBYT    
19B9: 86 21     488                STX    $21       
19BB: 20 BE DE  489                JSR    CHECKCOM  
19BE: 20 F8 E6  490                JSR    GETBYT    
19C1: 86 22     491                STX    $22       
19C3: 20 BE DE  492                JSR    CHECKCOM  
19C6: 20 F8 E6  493                JSR    GETBYT    
19C9: 86 23     494                STX    $23       
19CB: 60        495                RTS              
                496                                 ;
                497  *
                498  * SOUND
                499  *
                500                                 ;
19CC: 20 21 1A  501  SOUND         JSR    STOCK     
19CF: A9 01     502  SOUNDD        LDA    #$01      
19D1: 8D 32 1A  503                STA    AD2       
19D4: A0 00     504                LDY    #$00      
                505                                 ;
19D6: AD 33 1A  506  DEBUT         LDA    AD3       
19D9: 48        507                PHA              
19DA: AE 31 1A  508                LDX    AD1       
19DD: CA        509  DEX1          DEX              
19DE: D0 FD     510                BNE    DEX1      
19E0: 2C 30 C0  511                BIT    SPEAK     
19E3: AE 32 1A  512                LDX    AD2       
19E6: CA        513  DEX2          DEX              
19E7: D0 FD     514                BNE    DEX2      
19E9: 2C 30 C0  515                BIT    SPEAK     
19EC: 68        516                PLA              
19ED: AA        517                TAX              
19EE: CA        518                DEX              
19EF: 8A        519                TXA              
19F0: D0 E7     520                BNE    DEBUT+3   
19F2: C0 01     521                CPY    #$01      
19F4: F0 17     522                BEQ    LA        
                523                                 ;
19F6: AD 32 1A  524  ICI           LDA    AD2       
19F9: 18        525                CLC              
19FA: 69 01     526                ADC    #$01      
19FC: C9 1B     527                CMP    #$1B      
19FE: F0 09     528                BEQ    CHANGE    
1A00: 8D 32 1A  529                STA    AD2       
1A03: CE 31 1A  530                DEC    AD1       
1A06: 4C D6 19  531                JMP    DEBUT     
1A09: C8        532  CHANGE        INY              
1A0A: 4C D6 19  533                JMP    DEBUT     
                534                                 ;
1A0D: AD 32 1A  535  LA            LDA    AD2       
1A10: 38        536                SEC              
1A11: E9 01     537                SBC    #$01      
1A13: C9 01     538                CMP    #$01      
1A15: F0 09     539                BEQ    FINSOUND  
1A17: 8D 32 1A  540                STA    AD2       
1A1A: EE 31 1A  541                INC    AD1       
1A1D: 4C D6 19  542                JMP    DEBUT     
                543                                 ;
1A20: 60        544  FINSOUND      RTS              
                545                                 ;
1A21: 20 F8 E6  546  STOCK         JSR    GETBYT    
1A24: 8E 31 1A  547                STX    AD1       
1A27: 20 BE DE  548                JSR    CHECKCOM  
1A2A: 20 F8 E6  549                JSR    GETBYT    
1A2D: 8E 33 1A  550                STX    AD3       
1A30: 60        551                RTS              
                552                                 ;
1A31: 00        553  AD1           DFB    $00       
1A32: 00        554  AD2           DFB    $00       
1A33: 00        555  AD3           DFB    $00       
                556                                 ;
                557  *
                558  * NOISE
                559  *
                560                                 ;
                561                                 ; NB    EN AD1
                562                                 ; COMPT EN AD3
                563                                 ; FREQ  EN AD2
                564                                 ;
1A34: 20 21 1A  565  NOISE         JSR    STOCK     
1A37: 20 BE DE  566                JSR    CHECKCOM  
1A3A: 20 F8 E6  567                JSR    GETBYT    
1A3D: 8E 32 1A  568  NOISED        STX    AD2       
                569                                 ;
1A40: A9 00     570                LDA    #0        
1A42: 8D 29 19  571                STA    CPT2      
                572                                 ;
1A45: AE 32 1A  573  BCL1          LDX    AD2       
1A48: AD 29 19  574  BCL2          LDA    CPT2      
1A4B: 6D 33 1A  575                ADC    AD3       
1A4E: 8D 29 19  576                STA    CPT2      
1A51: A8        577                TAY              
1A52: 88        578  BCL3          DEY              
1A53: D0 FD     579                BNE    BCL3      
1A55: AD 30 C0  580                LDA    SPEAK     
1A58: 8A        581                TXA              
1A59: A8        582                TAY              
1A5A: 88        583  BCL4          DEY              
1A5B: D0 FD     584                BNE    BCL4      
1A5D: AD 30 C0  585                LDA    SPEAK     
1A60: CA        586                DEX              
1A61: D0 E5     587                BNE    BCL2      
1A63: CE 31 1A  588                DEC    AD1       
1A66: D0 DD     589                BNE    BCL1      
1A68: 60        590                RTS              
                591                                 ;
                592  *
                593  * SCRN
                594  *
                595                                 ;
1A69: A9 00     596  SCRN          LDA    #0        ; TESTEUR DE DECALAGE
1A6B: 85 E7     597                STA    ETAT2     
1A6D: 20 21 1A  598                JSR    STOCK     ; LECTURE DES DONNEES
                599                                 ; BRANCHE CSWL/CSWH
1A70: AD 31 1A  600                LDA    AD1       
1A73: F0 07     601                BEQ    CSWNORM   
1A75: A9 27     602                LDA    #<OUTPUT  
1A77: A2 17     603                LDX    #>OUTPUT  
1A79: 4C 80 1A  604                JMP    FOLLOW2   
1A7C: A9 F0     605  CSWNORM       LDA    #$F0      
1A7E: A2 FD     606                LDX    #$FD      
1A80: 85 36     607  FOLLOW2       STA    CSWL      
1A82: 86 37     608                STX    CSWH      
1A84: AE 33 1A  609                LDX    AD3       
1A87: F0 11     610                BEQ    KSWNORM   
1A89: CA        611                DEX              
1A8A: F0 07     612                BEQ    FOLLOW10  
1A8C: A9 5F     613                LDA    #<INPUT_2 
1A8E: A2 1E     614                LDX    #>INPUT_2 
1A90: 4C 9E 1A  615                JMP    FOLLOW3   
1A93: A9 E1     616  FOLLOW10      LDA    #<INPUT   
1A95: A2 16     617                LDX    #>INPUT   
1A97: 4C 9E 1A  618                JMP    FOLLOW3   
1A9A: A9 1B     619  KSWNORM       LDA    #$1B      
1A9C: A2 FD     620                LDX    #$FD      
1A9E: 85 38     621  FOLLOW3       STA    KSWL      
1AA0: 86 39     622                STX    KSWH      
1AA2: 60        623                RTS              
                624                                 ;
                625  *
                626  * SPRITE
                627  *
                628                                 ;
1AA3: 20 21 1A  629  SPRITE        JSR    STOCK     
1AA6: 20 BE DE  630                JSR    CHECKCOM  
1AA9: 20 F8 E6  631                JSR    GETBYT    
1AAC: 86 1A     632                STX    Y         
1AAE: AD 33 1A  633                LDA    AD3       
1AB1: 85 09     634                STA    X         
                635                                 ; NO SPRITE*(4*8)
1AB3: AD 31 1A  636                LDA    AD1       
1AB6: 85 EC     637  SPRITED       STA    $EC       
1AB8: A9 20     638                LDA    #32       
1ABA: 85 ED     639                STA    $ED       
1ABC: 20 1B 1B  640                JSR    MULT      
                641                                 ; +DEBUT DATA SPRITE
1ABF: 18        642                CLC              
1AC0: A5 EF     643                LDA    $EF       ; RESULTAT(-)
1AC2: 69 C1     644                ADC    #<DATASP  
1AC4: 8D ED 1A  645                STA    LOAD+1    
1AC7: A5 EE     646                LDA    $EE       ; RESULTAT(+)
1AC9: 69 0B     647                ADC    #>DATASP  
1ACB: 8D EE 1A  648                STA    LOAD+2    
                649                                 ;
1ACE: A9 00     650                LDA    #0        
1AD0: 85 06     651                STA    CPTL      ; ON SE POSITIONNE POUR LE BLOC (=2 CARAC)
1AD2: 85 07     652                STA    CPTX      ; COMPTEUR LECTURE DATA SPRITE
1AD4: A9 10     653                LDA    #16       
1AD6: 8D F9 1A  654                STA    NBF+1     
                655                                 ;
1AD9: 20 9D 18  656  FOLLOW4       JSR    CALC      
1ADC: AD B7 18  657                LDA    DATAL     
1ADF: 8D F0 1A  658                STA    ECRIT+1   
1AE2: AD B8 18  659                LDA    DATAH     
1AE5: 8D F1 1A  660                STA    ECRIT+2   
1AE8: A6 07     661                LDX    CPTX      
                662                                 ;
1AEA: A0 00     663  FOLLOW5       LDY    #$00      
1AEC: BD FF FF  664  LOAD          LDA    $FFFF,X   ; LDA $????,X
1AEF: 99 FF FF  665  ECRIT         STA    $FFFF,Y   ; STA $????,Y
1AF2: E8        666                INX              
1AF3: C8        667                INY              
1AF4: C0 02     668                CPY    #$02      
1AF6: D0 F4     669                BNE    LOAD      
1AF8: E0 10     670  NBF           CPX    #16       
1AFA: F0 0C     671                BEQ    FOLLOW6   
                672                                 ; +$400 POUR LIGNE SUIVANTE
1AFC: 18        673                CLC              
1AFD: AD F1 1A  674                LDA    ECRIT+2   
1B00: 69 04     675                ADC    #$04      
1B02: 8D F1 1A  676                STA    ECRIT+2   
1B05: 4C EA 1A  677                JMP    FOLLOW5   
                678                                 ;
1B08: E6 06     679  FOLLOW6       INC    CPTL      
1B0A: A5 06     680                LDA    CPTL      
1B0C: C9 02     681                CMP    #$02      
1B0E: F0 0A     682                BEQ    ENDSP     ; ON A ECRIT 2 BLOC L'1 AU DESSUS DE L'AUTRE
                683                                 ;
1B10: 86 07     684                STX    CPTX      
1B12: E6 1A     685                INC    Y         ; POUR ECRIRE LE SECOND BLOC
1B14: 0E F9 1A  686                ASL    NBF+1     
1B17: 4C D9 1A  687                JMP    FOLLOW4   ; RECOMMENCE PR 2EME BLOC
                688                                 ;
1B1A: 60        689  ENDSP         RTS              ; FIN AFFICHAGE SPRITE
                690                                 ;
                691  *
                692  * MODULE MULTIPLICATION
                693  *
                694                                 ;
1B1B: A9 00     695  MULT          LDA    #$00      
1B1D: 85 EE     696                STA    $EE       
1B1F: A2 08     697                LDX    #$08      
1B21: 0A        698  FOLLOW7       ASL              
1B22: 26 EE     699                ROL    $EE       
1B24: 06 ED     700                ASL    $ED       
1B26: 90 07     701                BCC    FOLLOW8   
1B28: 18        702                CLC              
1B29: 65 EC     703                ADC    $EC       
1B2B: 90 02     704                BCC    FOLLOW8   
1B2D: E6 EE     705                INC    $EE       
1B2F: CA        706  FOLLOW8       DEX              
1B30: D0 EF     707                BNE    FOLLOW7   
1B32: 85 EF     708                STA    $EF       
1B34: 60        709                RTS              
                710                                 ;
                711  *
                712  * SET
                713  *
                714                                 ;
1B35: 20 F8 E6  715  SET           JSR    GETBYT    
1B38: E0 01     716                CPX    #$01      
1B3A: D0 07     717                BNE    FOLLOW9   
                718                                 ; BRANCHE SUR L'EXTRA SET
1B3C: A9 01     719  SET1D         LDA    #<CARAC2  
1B3E: A2 0B     720                LDX    #>CARAC2  
1B40: 4C 47 1B  721                JMP    SETEND    
                722                                 ; MET LE SET NORMAL
1B43: A9 01     723  FOLLOW9       LDA    #<CARAC   
1B45: A2 08     724                LDX    #>CARAC   
1B47: 8D 9D 17  725  SETEND        STA    C1+1      
1B4A: 8E A3 17  726                STX    C2+1      
1B4D: 60        727                RTS              
                728                                 ;
                729  *
                730  * &CLS
                731  *
                732                                 ;
1B4E: A5 22     733  CLS           LDA    MARGEH    
1B50: 85 1A     734                STA    Y         
1B52: A5 20     735                LDA    MARGEG    
1B54: 85 09     736                STA    X         
1B56: A5 21     737                LDA    LARGEUR   
1B58: 8D 7E 1B  738                STA    LECPX2+1  
1B5B: 20 9D 18  739  CLS2          JSR    CALC      
1B5E: AD B7 18  740                LDA    DATAL     
1B61: 8D 7A 1B  741                STA    POKE2+1   
1B64: AD B8 18  742                LDA    DATAH     
1B67: 8D 7B 1B  743                STA    POKE2+2   
1B6A: A9 00     744                LDA    #0        
1B6C: 8D 4E 18  745                STA    CPT       
1B6F: 20 75 1B  746                JSR    PEEK2-2   
1B72: 4C 98 1B  747                JMP    INCR2     
1B75: A2 00     748                LDX    #0        
1B77: A9 00     749  PEEK2         LDA    #0        
1B79: 9D FF FF  750  POKE2         STA    $FFFF,X   ; STA $????,X
1B7C: E8        751                INX              
1B7D: E0 00     752  LECPX2        CPX    #$00      ; CPX #$??
1B7F: D0 F6     753                BNE    PEEK2     
1B81: EE 4E 18  754                INC    CPT       
1B84: AC 4E 18  755                LDY    CPT       
1B87: C0 08     756                CPY    #$08      
1B89: D0 01     757                BNE    NEXTOCTT  
1B8B: 60        758                RTS              
                759                                 ;
1B8C: 18        760  NEXTOCTT      CLC              
1B8D: AD 7B 1B  761                LDA    POKE2+2   
1B90: 69 04     762                ADC    #$04      
1B92: 8D 7B 1B  763                STA    POKE2+2   
1B95: 4C 75 1B  764                JMP    PEEK2-2   
                765                                 ;
1B98: A5 23     766  INCR2         LDA    MARGEB    
1B9A: AA        767                TAX              
1B9B: CA        768                DEX              
1B9C: E4 1A     769                CPX    Y         
1B9E: F0 05     770                BEQ    FINCLS    
1BA0: E6 1A     771                INC    Y         
1BA2: 4C 5B 1B  772                JMP    CLS2      
1BA5: A9 00     773  FINCLS        LDA    #0        
1BA7: 85 24     774                STA    CH        
1BA9: A5 22     775                LDA    MARGEH    
1BAB: 85 25     776                STA    CV        
1BAD: 20 22 FC  777                JSR    POSITION  
1BB0: 60        778                RTS              
                779                                 ;
                780  *
                781  * &CADRE
                782  *
                783                                 ;
                784  HCLR          EQU    $F3F2     ; EFFACE ECRAN GRAPHIQUE (FOND NOIR)
                785  HOME          EQU    $FC58     
                786  OUTDO         EQU    $DB5C     
                787  STROUT        EQU    $DB3A     
                788  POSITION      EQU    $FC22     
                789                                 ;
                790                                 ;
1BB1: 20 3C 1B  791  CADRE         JSR    SET1D     ; BRANCHE LE JEU DE CARACTERES ANNEXE
1BB4: 20 58 FC  792                JSR    HOME      
1BB7: 2C 51 C0  793                BIT    $C051     ; ON PASSE EN TXT POUR PAS VOIR L'EFFACEMENT
1BBA: 20 F2 F3  794                JSR    HCLR      ; EFFACE ECRAN HGR
1BBD: 2C 50 C0  795                BIT    $C050     ; REPASSE EN MODE GRAPHIQUE
1BC0: 2C 54 C0  796                BIT    $C054     
1BC3: 2C 57 C0  797                BIT    $C057     
1BC6: 2C 52 C0  798                BIT    $C052     
                799                                 ;
                800                                 ; ECRITURE DU CADRE
                801                                 ;
1BC9: A9 00     802                LDA    #0        
1BCB: 85 24     803                STA    CH        
1BCD: 85 25     804                STA    CV        
1BCF: 20 22 FC  805                JSR    POSITION  
1BD2: A9 66     806                LDA    #<TRAIT_1 
1BD4: A0 1C     807                LDY    #>TRAIT_1 
1BD6: 20 3A DB  808                JSR    STROUT    
1BD9: A9 18     809                LDA    #24       
1BDB: 85 24     810                STA    CH        
1BDD: A9 07     811                LDA    #7        
1BDF: 85 25     812                STA    CV        
1BE1: 20 22 FC  813                JSR    POSITION  
1BE4: A9 A8     814                LDA    #<TRAIT_3 
1BE6: A0 1C     815                LDY    #>TRAIT_3 
1BE8: 20 3A DB  816                JSR    STROUT    
1BEB: A9 00     817                LDA    #0        
1BED: 85 24     818                STA    CH        
1BEF: A9 17     819                LDA    #23       
1BF1: 85 25     820                STA    CV        
1BF3: 20 22 FC  821                JSR    POSITION  
1BF6: A9 8F     822                LDA    #<TRAIT_2 
1BF8: A0 1C     823                LDY    #>TRAIT_2 
1BFA: 20 3A DB  824                JSR    STROUT    
                825                                 ; AFFICHE TRAITS VERTICAUX CADRE PERSO
1BFD: A9 18     826                LDA    #24       
1BFF: A2 A4     827                LDX    #$A4      ; '$'
1C01: 20 51 1C  828                JSR    MODPRES   
1C04: A9 27     829                LDA    #39       
1C06: A2 A3     830                LDX    #$A3      ; '#'
1C08: 20 51 1C  831                JSR    MODPRES   
                832                                 ; TRAITS VERTICAUX CADRE ECRAN
1C0B: A9 0B     833                LDA    #11       
1C0D: 8D 50 1C  834                STA    CPTPRES   
1C10: A9 01     835                LDA    #1        
1C12: 85 25     836                STA    CV        
1C14: A9 00     837  PRESBCL       LDA    #0        
1C16: 85 24     838                STA    CH        
1C18: 20 22 FC  839                JSR    POSITION  
1C1B: A2 AC     840                LDX    #$AC      ; ','
1C1D: A0 AD     841                LDY    #$AD      ; '-'
1C1F: 8A        842                TXA              
1C20: 20 5C DB  843                JSR    OUTDO     
1C23: E6 25     844                INC    CV        
1C25: C6 24     845                DEC    CH        
1C27: 20 22 FC  846                JSR    POSITION  
1C2A: 98        847                TYA              
1C2B: 20 5C DB  848                JSR    OUTDO     
1C2E: C6 25     849                DEC    CV        
1C30: A9 17     850                LDA    #23       
1C32: 85 24     851                STA    CH        
1C34: 20 22 FC  852                JSR    POSITION  
1C37: 98        853                TYA              
1C38: 20 5C DB  854                JSR    OUTDO     
1C3B: E6 25     855                INC    CV        
1C3D: C6 24     856                DEC    CH        
1C3F: 20 22 FC  857                JSR    POSITION  
1C42: 8A        858                TXA              
1C43: 20 5C DB  859                JSR    OUTDO     
1C46: E6 25     860                INC    CV        
1C48: CE 50 1C  861                DEC    CPTPRES   
1C4B: D0 C7     862                BNE    PRESBCL   
1C4D: 4C 43 1B  863                JMP    FOLLOW9   ; RETABLIT JEU CARAC NORMAL+FIN
                864                                 ;
1C50: 00        865  CPTPRES       DFB    0         
                866                                 ;
                867                                 ;
                868                                 ;
1C51: 85 24     869  MODPRES       STA    CH        
1C53: A0 06     870                LDY    #6        
1C55: 48        871  CONTPRES      PHA              
1C56: 84 25     872                STY    CV        
1C58: 20 22 FC  873                JSR    POSITION  
1C5B: 8A        874                TXA              
1C5C: 20 5C DB  875                JSR    OUTDO     
1C5F: 68        876                PLA              
1C60: 85 24     877                STA    CH        
1C62: 88        878                DEY              
1C63: D0 F0     879                BNE    CONTPRES  
1C65: 60        880                RTS              
                881                                 ;
                882                                 ;
1C66: A8 A9 A9  883  TRAIT_1       ASC    "()))))))01234567*******+ !!!!!!!!!!!!!!&" 
1C69: A9 A9 A9 A9 A9 B0 B1 B2 
1C71: B3 B4 B5 B6 B7 AA AA AA 
1C79: AA AA AA AA AB A0 A1 A1 
1C81: A1 A1 A1 A1 A1 A1 A1 A1 
1C89: A1 A1 A1 A1 A6 
1C8E: 00        884                DFB    0         
1C8F: AE A9 A9  885  TRAIT_2       ASC    ".)))))))))))***********/"
1C92: A9 A9 A9 A9 A9 A9 A9 A9 
1C9A: A9 AA AA AA AA AA AA AA 
1CA2: AA AA AA AA AF 
1CA7: 00        886                DFB    0         
1CA8: A2        887  TRAIT_3       DFB    $A2       
1CA9: A7 A7 A7  888                ASC    "''''''''''''''%"
1CAC: A7 A7 A7 A7 A7 A7 A7 A7 
1CB4: A7 A7 A7 A5 
1CB8: 00        889                DFB    0         
                890                                 ;
                891                                 ; &RELIRE
                892                                 ;
1CB9: 20 67 DD  893  RELIRE        JSR    $DD67     
1CBC: 20 52 E7  894                JSR    $E752     
1CBF: 18        895                CLC              
1CC0: 20 1A D6  896                JSR    $D61A     
1CC3: B0 05     897                BCS    RELIRE2   
1CC5: A2 5A     898                LDX    #$5A      
1CC7: 4C 12 D4  899                JMP    $D412     
                900                                 ;
1CCA: A5 9B     901  RELIRE2       LDA    $9B       
1CCC: E9 01     902                SBC    #$01      
1CCE: A4 9C     903                LDY    $9C       
1CD0: B0 01     904                BCS    RELIRE3   
1CD2: 88        905                DEY              
1CD3: 85 7D     906  RELIRE3       STA    $7D       
1CD5: 84 7E     907                STY    $7E       
1CD7: 4C B7 00  908                JMP    $00B7     
                909                                 ;
                910                                 ;
                911                                 ;
                912  **************************************************
                913  *
                914  * MISE EN MOUVEMENT DES SPRITES MOBILES
                915  *
                916                                 ;
1CDA: C6 4E     917  SPMOBIL0      DEC    $4E       
1CDC: E6 4F     918                INC    $4F       
                919                                 ;
1CDE: AE 2F 1D  920  SPMOBIL       LDX    SPMVT     
1CE1: F0 47     921                BEQ    FINMVT    ; PAS DE SPRITE EN MOUVEMENT
1CE3: 8E 30 1D  922                STX    COPSPMVT  ; SAUVEGARDE COMME COMPTEUR
                923                                 ;
1CE6: AE 30 1D  924  SPMOBIL2      LDX    COPSPMVT  
1CE9: F0 26     925                BEQ    FINSPM    ; ON A FAIT TOUS LES SPRITES
1CEB: AD 31 1D  926                LDA    FILTRE    
1CEE: F0 09     927                BEQ    SPMOBIL3  ; FILTRE: (=0 SI SPRITE NORMAL/=1 PR COMPLEM.)
1CF0: BD 32 1D  928                LDA    SPM-1,X   ; PRENDS LE NUMERO DU SPRITE
1CF3: 18        929                CLC              
1CF4: 69 1E     930                ADC    #$1E      ; +30 POUR AVOIR LE COMPLEMENTAIRE
1CF6: 4C FC 1C  931                JMP    SPMOBIL4  
1CF9: BD 32 1D  932  SPMOBIL3      LDA    SPM-1,X   
1CFC: 48        933  SPMOBIL4      PHA              
1CFD: BD 96 1D  934                LDA    SPMX-1,X  ; PRENDS COORDONNEE X DU SPRITE A POKER
1D00: 85 09     935                STA    X         
1D02: BD FA 1D  936                LDA    SPMY-1,X  ; PRENDS COORDONNEE Y DU SPRITE A POKER
1D05: 85 1A     937                STA    Y         
1D07: 68        938                PLA              ; RECUPERE LE NUMERO DU SPRITE
1D08: 20 B6 1A  939                JSR    SPRITED   ; AFFICHE SPRITE
1D0B: CE 30 1D  940                DEC    COPSPMVT  ; PASSE AU SPRITE PRECEDENT
1D0E: 4C E6 1C  941                JMP    SPMOBIL2  ; ON RECOMMENCE
                942                                 ;
1D11: AD 32 1D  943  FINSPM        LDA    SPCPT     ; COMPTEUR (0 A 3:FILTRE NON MODIFIE/4:MODIF)
1D14: C9 03     944                CMP    #$03      
1D16: D0 13     945                BNE    FINMVT0   
1D18: A9 00     946                LDA    #0        ; REPOSITIONNE COMPTEUR
1D1A: 8D 32 1D  947                STA    SPCPT     
1D1D: AD 31 1D  948                LDA    FILTRE    ; CHANGE ETAT DU FILTRE
1D20: F0 03     949                BEQ    FINSPM2   
1D22: A9 00     950                LDA    #0        ; NOUVEAU FILTRE = 0
1D24: 2C        951                DFB    $2C       ; FAUX BIT
1D25: A9 01     952  FINSPM2       LDA    #1        ; NOUVEAU FILTRE = 1
1D27: 8D 31 1D  953                STA    FILTRE    
1D2A: 60        954  FINMVT        RTS              
                955                                 ;
1D2B: EE 32 1D  956  FINMVT0       INC    SPCPT     ; AUGMENTE COMPTEUR
1D2E: 60        957                RTS              
                958                                 ;
1D2F: 00        959  SPMVT         DFB    0         
1D30: 00        960  COPSPMVT      DFB    0         
1D31: 00        961  FILTRE        DFB    0         
1D32: 00        962  SPCPT         DFB    0         
                963                                 ;
                964                                 ; DATAS SPRITES/X/Y
                965                                 ;
1D33: 00 00 00  966  SPM           DS     100       ; 100 SPRITES ACCUEILLABLES
1D36: 00 00 00 00 00 00 00 00 
1D3E: 00 00 00 00 00 00 00 00 
1D46: 00 00 00 00 00 00 00 00 
1D4E: 00 00 00 00 00 00 00 00 
1D56: 00 00 00 00 00 00 00 00 
1D5E: 00 00 00 00 00 00 00 00 
1D66: 00 00 00 00 00 00 00 00 
1D6E: 00 00 00 00 00 00 00 00 
1D76: 00 00 00 00 00 00 00 00 
1D7E: 00 00 00 00 00 00 00 00 
1D86: 00 00 00 00 00 00 00 00 
1D8E: 00 00 00 00 00 00 00 00 
1D96: 00 
1D97: 00 00 00  967  SPMX          DS     100       ; COORD. X CORRESPONDANTES
1D9A: 00 00 00 00 00 00 00 00 
1DA2: 00 00 00 00 00 00 00 00 
1DAA: 00 00 00 00 00 00 00 00 
1DB2: 00 00 00 00 00 00 00 00 
1DBA: 00 00 00 00 00 00 00 00 
1DC2: 00 00 00 00 00 00 00 00 
1DCA: 00 00 00 00 00 00 00 00 
1DD2: 00 00 00 00 00 00 00 00 
1DDA: 00 00 00 00 00 00 00 00 
1DE2: 00 00 00 00 00 00 00 00 
1DEA: 00 00 00 00 00 00 00 00 
1DF2: 00 00 00 00 00 00 00 00 
1DFA: 00 
1DFB: 00 00 00  968  SPMY          DS     100       ; COORD. Y CORRESPONDANTES
1DFE: 00 00 00 00 00 00 00 00 
1E06: 00 00 00 00 00 00 00 00 
1E0E: 00 00 00 00 00 00 00 00 
1E16: 00 00 00 00 00 00 00 00 
1E1E: 00 00 00 00 00 00 00 00 
1E26: 00 00 00 00 00 00 00 00 
1E2E: 00 00 00 00 00 00 00 00 
1E36: 00 00 00 00 00 00 00 00 
1E3E: 00 00 00 00 00 00 00 00 
1E46: 00 00 00 00 00 00 00 00 
1E4E: 00 00 00 00 00 00 00 00 
1E56: 00 00 00 00 00 00 00 00 
1E5E: 00 
                969                                 ;
                970                                 ; INPUT2
                971                                 ;
1E5F: 48        972  INPUT_2       PHA              
1E60: 8C 7B 17  973                STY    INSTORE   
1E63: 8E 7C 17  974                STX    INSTORE+1 
1E66: 20 DA 1C  975                JSR    SPMOBIL0  
1E69: AE 7C 17  976                LDX    INSTORE+1 
1E6C: AC 7B 17  977                LDY    INSTORE   
1E6F: 20 11 17  978                JSR    SUITE     
1E72: 4C 60 1E  979                JMP    INPUT_2+1 
                980                                 ;
                981                SAV    CMD       

Object saved as CMD,A$16E1,L$0794



--End assembly, 1940 bytes, Errors: 0 


Symbol table - alphabetical order:

   AD1          =$1A31      AD2          =$1A32      AD3          =$1A33      ADDON        =$D998
   ADRCMD       =$1965      AFFIC        =$17BD      AGAIN        =$197F      AUTRECAR     =$17EA
   BAS2H        =$2B        BAS2L        =$2A        BASH         =$29        BASL         =$28
   BCL1         =$1A45      BCL2         =$1A48      BCL3         =$1A52      BCL4         =$1A5A
   BITJSR       =$1740      BYE2         =$1773      C1           =$179C      C2           =$17A2
   CADRE        =$1BB1      CALC         =$189D      CARAC        =$0801      CARAC2       =$0B01
   CH           =$24        CHANGE       =$1A09      CHECKCOM     =$DEBE      CLS          =$1B4E
   CLS2         =$1B5B      CONTPRES     =$1C55      COPSPMVT     =$1D30      COUT1        =$FDF0
   CPT          =$184E      CPT2         =$1929      CPTL         =$06        CPTMUS       =$19AD
   CPTPRES      =$1C50      CPTX         =$07        CSWH         =$37        CSWL         =$36
   CSWNORM      =$1A7C      CURSOR       =$09F1      CV           =$25        D1           =$18F5
   D2           =$18F7      D3           =$1908      D4           =$190B      D5           =$1917
   DATA1        =$18B9      DATA2        =$18D1      DATAH        =$18B8      DATAL        =$18B7
   DATASP       =$0BC1      DEBUT        =$19D6      DECALAGE     =$17FA      DEX1         =$19DD
   DEX2         =$19E6      ECRIT        =$1AEF      ENDSP        =$1B1A      ERROR        =$DEC9
   ETAT         =$177D      ETAT2        =$E7        FILTRE       =$1D31      FINCLS       =$1BA5
   FINMUS       =$19AC      FINMVT       =$1D2A      FINMVT0      =$1D2B      FINSOUND     =$1A20
   FINSPM       =$1D11      FINSPM2      =$1D25      FOLLOW1      =$180B      FOLLOW10     =$1A93
   FOLLOW2      =$1A80      FOLLOW3      =$1A9E      FOLLOW4      =$1AD9      FOLLOW5      =$1AEA
   FOLLOW6      =$1B08      FOLLOW7      =$1B21      FOLLOW8      =$1B2F      FOLLOW9      =$1B43
   GBASH        =$27        GBASL        =$26        GETBYT       =$E6F8      HCLR         =$F3F2
   HOME         =$FC58   ?  ICI          =$19F6      IDEM         =$1761      INCR         =$1864
   INCR2        =$1B98      INPUT        =$16E1      INPUT2       =$16E2      INPUT_2      =$1E5F
   INSTORE      =$177B      INVFLG       =$32        KEYBRD       =$C000      KSWH         =$39
   KSWL         =$38        KSWNORM      =$1A9A      LA           =$1A0D      LARGEUR      =$21
   LECPX        =$183F      LECPX2       =$1B7D      LOAD         =$1AEC      MARGEB       =$23
   MARGEG       =$20        MARGEH       =$22     ?  MODE         =$17AF      MODPRES      =$1C51
   MULT         =$1B1B      MUS1         =$1994      MUS2         =$1997      MUS3         =$199E
   MUS4         =$19A6      MUSIC        =$1979   ?  MUSICD       =$1992      NBF          =$1AF8
   NEWCMD       =$192A      NEXTOCT      =$184F   ?  NEXTOCT2     =$1858      NEXTOCTT     =$1B8C
   NOISE        =$1A34   ?  NOISED       =$1A3D      OKDECAL      =$17EF      OTHER        =$174F
   OTHER2       =$176F      OUTDO        =$DB5C      OUTPUT       =$1727      OUTSTORE     =$1778
   PEEK         =$1838      PEEK2        =$1B77      POKE         =$183B      POKE2        =$1B79
   POSITION     =$FC22      PRESBCL      =$1C14      RELIRE       =$1CB9      RELIRE2      =$1CCA
   RELIRE3      =$1CD3      ROTATION     =$16F3      RTNFIN       =$178D      SCREEN       =$178E
   SCRN         =$1A69      SET          =$1B35      SET1D        =$1B3C      SETEND       =$1B47
   SOUND        =$19CC   ?  SOUNDD       =$19CF      SPCPT        =$1D32      SPEAK        =$C030
   SPM          =$1D33   ?  SPMOBIL      =$1CDE      SPMOBIL0     =$1CDA      SPMOBIL2     =$1CE6
   SPMOBIL3     =$1CF9      SPMOBIL4     =$1CFC      SPMVT        =$1D2F      SPMX         =$1D97
   SPMY         =$1DFB      SPRITE       =$1AA3      SPRITED      =$1AB6      STOCK        =$1A21
   STROUT       =$DB3A      SUITE        =$1711      SUITE2       =$171B      TESTY        =$17DE
   TRAIT_1      =$1C66      TRAIT_2      =$1C8F      TRAIT_3      =$1CA8      TRT_RTN      =$177E
   VASY         =$1734      VASY2        =$173D      WAIT         =$FCA8      WHERE        =$184B
   WINDOW       =$19AE      WRITE        =$17B3      X            =$09     ?  XMAX         =$1C
   Y            =$1A        ZKEYBRD      =$C010   


Symbol table - numerical order:

   CPTL         =$06        CPTX         =$07        X            =$09        Y            =$1A
?  XMAX         =$1C        MARGEG       =$20        LARGEUR      =$21        MARGEH       =$22
   MARGEB       =$23        CH           =$24        CV           =$25        GBASL        =$26
   GBASH        =$27        BASL         =$28        BASH         =$29        BAS2L        =$2A
   BAS2H        =$2B        INVFLG       =$32        CSWL         =$36        CSWH         =$37
   KSWL         =$38        KSWH         =$39        ETAT2        =$E7        CARAC        =$0801
   CURSOR       =$09F1      CARAC2       =$0B01      DATASP       =$0BC1      INPUT        =$16E1
   INPUT2       =$16E2      ROTATION     =$16F3      SUITE        =$1711      SUITE2       =$171B
   OUTPUT       =$1727      VASY         =$1734      VASY2        =$173D      BITJSR       =$1740
   OTHER        =$174F      IDEM         =$1761      OTHER2       =$176F      BYE2         =$1773
   OUTSTORE     =$1778      INSTORE      =$177B      ETAT         =$177D      TRT_RTN      =$177E
   RTNFIN       =$178D      SCREEN       =$178E      C1           =$179C      C2           =$17A2
?  MODE         =$17AF      WRITE        =$17B3      AFFIC        =$17BD      TESTY        =$17DE
   AUTRECAR     =$17EA      OKDECAL      =$17EF      DECALAGE     =$17FA      FOLLOW1      =$180B
   PEEK         =$1838      POKE         =$183B      LECPX        =$183F      WHERE        =$184B
   CPT          =$184E      NEXTOCT      =$184F   ?  NEXTOCT2     =$1858      INCR         =$1864
   CALC         =$189D      DATAL        =$18B7      DATAH        =$18B8      DATA1        =$18B9
   DATA2        =$18D1      D1           =$18F5      D2           =$18F7      D3           =$1908
   D4           =$190B      D5           =$1917      CPT2         =$1929      NEWCMD       =$192A
   ADRCMD       =$1965      MUSIC        =$1979      AGAIN        =$197F   ?  MUSICD       =$1992
   MUS1         =$1994      MUS2         =$1997      MUS3         =$199E      MUS4         =$19A6
   FINMUS       =$19AC      CPTMUS       =$19AD      WINDOW       =$19AE      SOUND        =$19CC
?  SOUNDD       =$19CF      DEBUT        =$19D6      DEX1         =$19DD      DEX2         =$19E6
?  ICI          =$19F6      CHANGE       =$1A09      LA           =$1A0D      FINSOUND     =$1A20
   STOCK        =$1A21      AD1          =$1A31      AD2          =$1A32      AD3          =$1A33
   NOISE        =$1A34   ?  NOISED       =$1A3D      BCL1         =$1A45      BCL2         =$1A48
   BCL3         =$1A52      BCL4         =$1A5A      SCRN         =$1A69      CSWNORM      =$1A7C
   FOLLOW2      =$1A80      FOLLOW10     =$1A93      KSWNORM      =$1A9A      FOLLOW3      =$1A9E
   SPRITE       =$1AA3      SPRITED      =$1AB6      FOLLOW4      =$1AD9      FOLLOW5      =$1AEA
   LOAD         =$1AEC      ECRIT        =$1AEF      NBF          =$1AF8      FOLLOW6      =$1B08
   ENDSP        =$1B1A      MULT         =$1B1B      FOLLOW7      =$1B21      FOLLOW8      =$1B2F
   SET          =$1B35      SET1D        =$1B3C      FOLLOW9      =$1B43      SETEND       =$1B47
   CLS          =$1B4E      CLS2         =$1B5B      PEEK2        =$1B77      POKE2        =$1B79
   LECPX2       =$1B7D      NEXTOCTT     =$1B8C      INCR2        =$1B98      FINCLS       =$1BA5
   CADRE        =$1BB1      PRESBCL      =$1C14      CPTPRES      =$1C50      MODPRES      =$1C51
   CONTPRES     =$1C55      TRAIT_1      =$1C66      TRAIT_2      =$1C8F      TRAIT_3      =$1CA8
   RELIRE       =$1CB9      RELIRE2      =$1CCA      RELIRE3      =$1CD3      SPMOBIL0     =$1CDA
?  SPMOBIL      =$1CDE      SPMOBIL2     =$1CE6      SPMOBIL3     =$1CF9      SPMOBIL4     =$1CFC
   FINSPM       =$1D11      FINSPM2      =$1D25      FINMVT       =$1D2A      FINMVT0      =$1D2B
   SPMVT        =$1D2F      COPSPMVT     =$1D30      FILTRE       =$1D31      SPCPT        =$1D32
   SPM          =$1D33      SPMX         =$1D97      SPMY         =$1DFB      INPUT_2      =$1E5F
   KEYBRD       =$C000      ZKEYBRD      =$C010      SPEAK        =$C030      ADDON        =$D998
   STROUT       =$DB3A      OUTDO        =$DB5C      CHECKCOM     =$DEBE      ERROR        =$DEC9
   GETBYT       =$E6F8      HCLR         =$F3F2      POSITION     =$FC22      HOME         =$FC58
   WAIT         =$FCA8      COUT1        =$FDF0   

